Reducing network and battery consumption during content delivery and playback

ABSTRACT

Methods and systems for content delivery are provided. A user of a media device may select one or more media content files, which may be located locally or remotely. The content selected by the user is located. If selected content is located at a remote source, that file is downloaded to the media device using maximum available radio bandwidth and stored in local storage. That data is provided as a stream to a media player from the local storage.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No.12/080,216 filed Mar. 31, 2008 and entitled “Reducing Network andBattery Consumption During Content Delivery To A Mobile Device,” whichis incorporated herein by reference in its entirety.

This application claims the priority benefit of U.S. provisional patentapplication No. 61/062,797 filed Jan. 28, 2008 and entitled “Systems andMethods for Data Transport,” the disclosure of which is incorporatedherein by reference in its entirety.

This application is related to U.S. patent application Ser. No.12/002,300 filed Dec. 13, 2007 and entitled “Content Delivery to aMobile Device from a Content Service.”

TECHNICAL FIELD

The present invention generally relates to content delivery. Morespecifically, the present invention relates to reducing network andbattery consumption during content delivery and playback.

BACKGROUND

Media content (e.g., audio and/or video), may be played using anyvariety of media players including, RealPlayer® from Real Networks, theQuickTime®/iTunes® media player from Apple and the Windows Media Player®from Microsoft. One or more media players may be present on any varietyof media devices such as personal computers, laptops, MP3 players andiPods®, and mobile phones. Most media devices are now portable and allowthe user to play media content regardless of the location of the user.

The media content may be provided to a media device from a variety ofcontent sources. Content sources may include a personal computer, amedia server, a database of content, and various Internet-based contentproviders (e.g., the iTunes® Music Store, MySpace®, and YouTube®). Themedia content is traditionally delivered from the content source to themedia device via download or streaming.

Downloading a media file involves the transfer of the media file from acontent source to a recipient device (e.g., the aforementioned mediadevice). Once downloaded, the media content is stored locally on thedevice. While downloading generally allows for delivery of contentquickly (subject to network bandwidth constraints), there are variousproblematic issues involved with downloading content to a media device.For example, a particular media device may not have sufficient localstorage to store a complete copy of a media file. This may proveparticularly problematic in those instances where users may not be ableto play the media file until it is completely downloaded.

Streaming of content usually allows the user to play a media file as itis being delivered to the media device. A streamed file is delivered toa media device at a rate required for the media device to play it (e.g.,an encoded bit rate). While streaming generally uses less bandwidth thandownloading a file, the rate at which data is streamed to a device maybe much slower than the rate at which the data could be downloaded.Streamed media, however, may generally begin playback as soon as largeenough cache of data has been delivered to a memory buffer at the mediadevice as to allow for uninterrupted playback.

Streamed media is, however, often inferior in quality with respect tosampling and bit rate. Further, the ‘just in time’ delivery approach forstreamed media often results in more glitches and skips when the memorybuffer becomes ‘starved’ of data. Streamed media, too, is usually notpermanently or semi-permanently stored by the media device. Dataassociated with the streamed media is often discarded almost immediatelyafter it is initially rendered by the media player. Thus, if the userwishes to replay a media file or a portion thereof again (e.g., ‘seek’or ‘rewind’ the media), the data must be re-streamed to the mediadevice.

For portable media devices, especially mobile and smart phones,downloading and streaming may occur using a wireless radio embedded inthe portable device. While downloading files to portable media devicesmay occur at a maximum available bandwidth of the network just as wouldoccur with a laptop or desktop computer, the user may still have to waituntil an entire media file is downloaded before being able to commenceplayback. With streamed media, the already low quality and lack ofsmooth playback may be exacerbated from being ‘wirelessly’ streamed aswireless network usually encounter more disruptive interference than alandline network such as DSL or cable.

Mobile devices with a wireless radio also consume battery power at anaccelerated rate. The wireless radio of a mobile device is one of thelargest—if not the largest—consumer of already limited battery resourcesin the device. Many mobile devices will not last more than 90 minutes toan hour if the radio is in constant use. Wireless networks, which werealready under stress due to the continued proliferation of mobiledevices that now outnumber ‘landlines’ have been placed under additionalstrains in light of the increasing availability of remote access tocontent. Downloading and/or streaming of music consumes a large amountof bandwidth—video is even more bandwidth intensive. When multiplied bythe number of users accessing content and in multiple instances, manynetworks are operating at full capacity. There is, therefore, a need inthe art for improved methods and systems of content delivery that reducenetwork and battery consumption during delivery and playback.

SUMMARY

Exemplary systems and methods of the present invention provide forcontent delivery. A user of a media device may wish to play one or moremedia content files. The media content files may be located on the mediadevice in various content sources, including a personal computingdevice, a storage device, and various Internet-based content providers.If a selected media content file is located on a remote source, thatfile is downloaded wirelessly to local storage of the media device atmaximum available network bandwidth. As soon as enough data from themedia file has been downloaded, that data is provided as a stream to amedia player from local storage.

Various embodiments of the present invention include methods for contentdelivery. Such methods may include receiving one or more user selectionsof content from local and remote sources, downloading the content atmaximum available network bandwidth using a radio, storing thedownloaded content to local storage, streaming the stored content to amedia player, and deactivating the radio when the content is completelydownloaded. Some embodiments further provide for generating a playlist,downloading according to the order of the playlist, and limiting accessto the local storage.

Embodiments of the present invention further include media devices forreceiving content delivery. Such media devices may include a userinterface, a media broker, a radio, and a media proxy. Some embodimentsmay further include a media player, a playlist generator, a localstorage device, a storage/cache handler, and a radio/power manager.

Various embodiments of the present invention include systems for contentdelivery. Such systems may include one or more content sources and amedia device. Some embodiments may further include a relay forprocessing content from the content sources before the content isdownloaded to the media device.

Embodiments of the present invention include computer media andinstructions for content delivery. Such embodiments may includecomputer-readable storage media having a program embodied thereon thatis executable by a computer processor to perform a method for contentdelivery.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an exemplary system for content delivery.

FIG. 2 is an illustration of an exemplary media device that may be usedin a content delivery system like that illustrated in FIG. 1.

FIG. 3 is a flowchart depicting an exemplary method for contentdelivery.

DETAILED DESCRIPTION

A user of a media device may select one or more media content files,which may be located on a local storage device or at one of severalremote storage sources. If a selected media content file is located at aremote source, that file is downloaded to the media device using maximumavailable network bandwidth. That data is then provided in a stream ofcontent to the media player from local device storage once the contentis completely downloaded.

FIG. 1 is an illustration of an exemplary system for content delivery100. A media device 110 may request and receive content from variousremote content sources 130A-C. A relay server 120 may interceptcommunication transmission between the media device 110 and the variousremote content sources 130A-C. Relay server—and the system 100 ingeneral—may implement a data transport system architecture like thatdescribed in U.S. provisional patent application No. 61/062,797, thedisclosure of which has previously been incorporated herein byreference.

A communications network in which the aforementioned system 100 isimplement may generally be understood as a group of computing devicesthat may be communicatively connected to one another. The computingdevices in the communications network of system 100 may be coupled toone another via a variety of communications channels (e.g., mobiletelephone base stations, wired local area networks, Wi-MAX). In thatregard, networks should be interpreted as being inclusive rather thanexclusive.

Media device 110 may be representative of any variety of media devicesincluding MP3 players, portable media players, cellular telephones,smart phones, PDAs, handheld computers, and laptop/notebook computersthat are capable of communicating wirelessly and/or over the Internet.Media device 110 may include one or more media player applications(e.g., the iTunes® media player), which may be capable of playingvarious types of downloaded or streamed media.

Optional relay server 120 may convey communications (e.g., contentrequests, provided content) between the media device 110 and the variouscontent sources 130A-C. Relay server 120 may be further configured tointercept and process media content for playback on the media device110. Processing may include reformatting the content or converting thecontent for playback in a particular media player application asdescribed in co-pending U.S. patent application Ser. No. 12/002,300 andentitled “Content Delivery to a Mobile Device from a Content Service”and filed Dec. 13, 2007, the disclosure of which has previously beenincorporated herein by reference.

Remote content sources 130A-C may include any remote content sourceavailable to the user. Remote content sources 130A-C may include apersonal computing device or storage device belonging to or associatedwith the user or various Internet-based content providers. For example,a user may store media content on a personal computing device or astorage device coupled to a network. While such content may not beimmediately available on media device 110, that content (or selectionsthereof) may be located and delivered to the media device 110 from thepersonal computer or storage device (i.e., content sources 130A-C).

FIG. 2 is an illustration of an exemplary media device 110 that may beused in a content delivery system like that illustrated in FIG. 1. Themedia device 110 may include a user interface 210, a media player 220, aplaylist generator 230, a media proxy 240, a media broker 250, localstorage 260, a storage/cache handler 270, and a radio/power manager 280.

User interface 210 may be configured to display a user environmentthrough which various applications, such as media player 220, may beaccessed and manipulated by the user. User interface 210 may operatealone or in conjunction with media player 220 and/or playlist generator230 to provide a display of available content, playlists, etc. The usermay designate one or more selections of content available locally orover a network from a remote content source and to view the selectionsas a playlist in the display provided by user interface 210.

Media device 110 may further include one or more media players 220.Media player 220 may be any application for receiving and playing mediacontent. Examples of media player 220 may include the iTunes® mediaplayer from Apple Computer, the Windows Media Player® from Microsoft, orRealPlayer® from RealNetworks. Media player 220 may receive a userselection via the user interface 210 and generate a request (e.g., anHTTP request) for particular content designated by the user selection.

Media device 110 may further include a playlist generator 230. Playlistgenerator 230 generates a list of content to be played on media player220 based on one or more user selections concerning content. Forexample, a user may select a particular album or a custom playlist. Thecontent included in the album or custom playlist may be represented inthe playlist. Some media player applications 220 may have a built-inplaylist generator whereas other devices may implement the playlistgenerator 230 as a separate application that interacts with the userinterface 210 and/or media player 220.

The media proxy 240 of FIG. 2 provides information concerning thecontent available to the user. For example, content may be located inmultiple locations including remote and local storage. Media proxy 240may simulate being a source of all such content regardless of actualcontent location. Operating in conjunction with user interface, mediaproxy 240 may provide the user with information concerning all thecontent available to the user regardless of actual location. Media proxy240 may further be configured to respond to user selections indicatingthe desire for access to certain content, provide the selections tomedia broker 250 for location and/or retrieval, and to stream theselected content to media player 220 following download of said contentIf the user selects content that is not available locally, that contentmay be downloaded from one or more the remote content sources 130A-C.Media proxy 240 may relay the user selections (or playlist of userselections) to media broker 250, which locates the content associatedwith the user selections over a network. Content determined to belocated on a remote content source is downloaded as quickly as possibleto media device 110.

Operating alone or in conjunction with a radio/power manager 280, mediabroker 250 aggressively retrieves remotely located content using maximumavailable radio bandwidth until the content is completely downloaded.For example, content may be encoded at a bit rate of 64 kbps per secondbut the media broker 250 may instruct for the content to be retrievedand transmitted at 256 kbps or some other transmission rate in excess ofa real-time playback rate. In this way, the broker 250 and radio/powermanager 280 may make use of unused network bandwidth to more rapidlyretrieve the content for storage and playback at the device 110.

In some embodiments, a predetermined amount of content may be downloadedat an accelerated rate such that a ‘cushion’ exists within local storagefor playback whereby streaming of the content will not exceed theavailable content in the buffer. Once that predetermined amount ofcontent is achieved, the radio may throttle back and download content atits normal bit rate. Throttling back the radio in this embodimentcontinues to reduce stress on the network.

Media broker 250 may retrieve remotely located content based on theorder of the playlist. For example, tracks 2, 3, and 6 of a playlist maybe located on a remote content source. Media broker 250 would, inconjunction with radio/power manager 280, retrieve track 2 first, thentrack 3 second, and track 6 last. If a user wishes to skip to aparticular track, however, media broker 250 may aggressively pull incontent based on the updated list. For example, if the user indicatesthat the user wishes to play track 6, media broker 250 may immediatelybegin to retrieve track 6 utilizing the aggressive download techniquesdescribed above.

Media device 110 may include one or more local storage devices 260.Local storage 260 may include a local hard drive, random access memory(RAM), flash drive, or removable flash device. The remotely locatedcontent retrieved by media broker 250 may, in some instances, be storedin local storage 260. The retrieved content stored in local storage 260may be accessed by media proxy 240, which effectively streams thecontent to media player 220 thereby bypassing the download operationdescribed above.

Media device 110 may further include an optional storage/cache handler270 for managing one or more local storage devices and/or caches. Somemedia devices 110 may have limited storage available, so storage/cachehandler 270 may determine how the downloaded content is stored. Forexample, storage/cache handler 270 may set aside some RAM for downloadedcontent, discard the content after playing, and reusing the same RAM forcaching further downloaded content. Various metrics may be used tomaintain the storage. For example, recently or repeatedly accessedcontent may be regular basis. The number of playlists in whichparticular content appears may also be of relevance with respect tostorage decision making processes.

Radio/power manager 280 allows for control of the radio and centralprocessing unit (CPU) of the media device 110. Radio/power manager 280allows for transactions to be conducted in a manner most likely topreserve battery resources at device 110 and network resources relatedthereto (e.g., a particular network over which the device 110 operates).For example, downloading content at a maximum or accelerated rate inlight of available bandwidth allows for the content to be receivedfaster. This aggressive download, in turn, allows for the radio tothrottle back and/or shut down sooner thereby preserving batteryresources and reducing ongoing stress on the network. In contrast,streaming content at a lower rate may require that the radio to operatefor a longer period of time. In some embodiments, radio/power manager280 may be part of media broker 250 or a separate component operating inconjunction with media broker 250. The manager 280 may operate based oncertain instructions provided by the aforementioned broker 250, whichmay provide those instructions in light of the content or amount ofcontent to be retrieved.

FIG. 3 is a flowchart depicting an exemplary method 300 for contentdelivery. Through method 300, a user selection is received, a playlistgenerated, content corresponding to the playlist requested, and therequested content is located. If requested content is located remotely,the content is downloaded using maximum available network bandwidth, thedownloaded content is stored or cached once completely downloaded, andthe content is streamed to the media player on the media device.

In step 310, one or more user selections are received. A user mayrequest that certain content be played using a media player (e.g., mediaplayer 220) on a media device like media device 110. A user may simplyrequest a particular album or tracks from that album. Alternatively,media proxy 240 may simulate being the source of the content and providemenu information for display by user interface 210, and the user maydesignate content for playback from the display.

In step 320, a playlist is generated by playlist generator 230 based onthe one or more user selections. If an album was selected by the user,the playlist may include all the tracks on the album listed in order ofpublication. Alternatively, if the user selects tracks from multiplealbums, a custom playlist may be generated in which the tracks may belisted in the order designated by the user.

In step 330, content designated by the user selections is requested bythe media player (e.g., media player 220). For example, media player 220may make an HTTP request for the designated content. Because media proxy240 simulates being the source of content, the requests for content arerelayed to media proxy 240.

In step 340, the designated content is located by the media broker 250.There may be multiple sources for the designated content including localand remote content sources. For example, media broker 250 may determinethe location for each track in an album. Tracks 1-3 may be located in alocal flash drive, tracks 4-7 may be located on the user's PC, and track8-11 may be available from an Internet content provider (e.g., iTunes®).

In step 350, a determination is made concerning whether designatedcontent is located on a remote content source. If designated content isdetermined to be located remotely, the method proceeds to step 360. Ifdesignated content is determined to be located locally, the methodproceeds to step 380. For a playlist of multiple tracks, thedetermination of local or remote location may be made with respect toeach track.

In step 360, the designated content is downloaded using maximumavailable network bandwidth. Media device 110 can communicate anddownload content wirelessly using a radio within the device. The mediabroker 250 aggressively uses maximum available bandwidth to downloadcontent as quickly as possible. Radio/power manager 280 may manage thedownload so that it proceeds quickly and efficiently. Remotely locatedcontent may be downloaded in order of the playlist. If a user changesthe order, the order of content to be downloaded may change as well.

In step 370, downloaded content is stored or cached locally. Dependingon the specific media device 110, there may be various possible localstorage devices, such as local storage 260. In some instances, there maynot be enough local storage for all the tracks in a playlist to persistlocally. If so, storage/cache handler 270 may manage content storage sothat tracks from the playlist can be played in order.

In step 380, content is streamed to the media player 220 from localstorage 260. Some content may already be in local storage 260, whilesome content may be downloaded from a remote content source and thenstored in local storage 260. Such content may be accessed by media proxy240, which provides the content as a stream to media player 220 in theorder of the playlist generated in step 320.

While the present invention has been described in connection with aseries of preferred embodiment, these descriptions are not intended tolimit the scope of the invention to the particular forms set forthherein. To the contrary, the present descriptions are intended to coversuch alternatives, modifications, and equivalents as may be includedwithin the spirit and scope of the invention as defined by the appendedclaims and otherwise appreciated by one of ordinary skill in the art.

I/We claim:
 1. A method for reducing power consumption during contentdelivery and playback, comprising: receiving a selection designatingcontent at a content source; downloading the designated content to localstorage of a media device, wherein the content is downloaded at amaximum available network bandwidth using a radio at the media device;streaming a downloaded portion of the designated content from the localstorage to a media player of the media device; and deactivating theradio when the designated content is completely downloaded.
 2. Themethod of claim 1, further comprising generating an interface forreceiving the one or more user selections.
 3. The method of claim 1,further comprising generating a playlist based on the one or more userselections.
 4. The method of claim 3, wherein downloading the content isbased on an order of the playlist.
 5. The method of claim 3, furthercomprising updating the playlist based on user input.
 6. The method ofclaim 1, further comprising generating a request to a proxy for thedesignated content.
 7. The method of claim 1, wherein the downloadedcontent in the local storage may be provided to the media player basedon user input.
 8. The method of claim 7, wherein access to the localstorage device is limited to one or more media players associated withthe media device.
 9. A media device for receiving content delivery,comprising a user interface configured to receive a selectiondesignating content; a media broker configured to locate the designatedcontent at a content source; a radio configured to download the locatedcontent to local storage at a maximum available network bandwidth, theradio further configured to deactivate when the designated content iscompletely downloaded; and a media proxy configured to provide adownloaded portion of the designated content via streaming from thelocal storage to a media player.
 10. The media device of claim 9,further comprising the media player, the media player being configuredto play streamed content.
 11. The media device of claim 9, furthercomprising a playlist generator configured to generate a playlist basedon the one or more user selections.
 12. The media device of claim 9,wherein the media broker is further configured to download thedesignated content from the remote content source based on an order ofthe playlist.
 13. The media device of claim 9, wherein the media proxyis further configured to provide a user with information concerningcontent from one or more content sources;
 14. The media device of claim9, wherein the local storage is configured to provide the downloadedcontent to the media player based on user input.
 15. The media device ofclaim 9, wherein access to the local storage is limited to one or moremedia players associated with the media device.
 16. The media device ofclaim 9, further comprising a storage handler configured to managecontent from one or more local content sources.
 17. The media device ofclaim 9, further comprising a radio/power manager configured to managethe power of the radio.
 18. A system for content delivery, comprising acontent source; and a media device including local storage, a radio, anda media player, the media device configured to: receive a selectiondesignating content from the content source, download the designatedcontent to the local storage at a maximum available network bandwidthusing the radio, stream a downloaded portion of the designated contentfrom the local storage to the media player, and deactivate the radiowhen the designated content is completely downloaded.
 19. The system ofclaim 18, further comprising a relay server configured to interceptcontent from one or more remote content sources and to process theintercepted content for playing on the media device.
 20. Acomputer-readable storage medium having embodied thereon a program beingexecutable by a computer processor to perform a method for contentdelivery, the method comprising: receiving a selection designatingcontent at a content source; downloading the designated content to localstorage of a media device, wherein the content is downloaded at amaximum available network bandwidth using a radio at the media device;streaming a downloaded portion of the designated content from the localstorage to a media player of the media device; and deactivating theradio when the designated content is completely downloaded